package Leetcode;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

/**
 * @ Author     ：侯耀祖
 * @ Description：
 */
public class lengthOfLongestSubstring {
    public int lengthOfLongestSubstring(String s) {
        if (s.isEmpty()){
            return 0;
        }
//        int result = 1;
//        for (int i = 0; i < s.length(); i++) {
//            Set<Character> table = new HashSet<>();
//            char c = s.charAt(i);
//            table.add(c);
//            int j = i + 1;
//            int temp = 1;
//            while (j < s.length()){
//                if (table.contains(s.charAt(j))){
//                    break;
//                }
//                table.add(s.charAt(j));
//                temp++;
//                j++;
//            }
//            result = Math.max(result, temp);
//        }
//        return result;
        Set<Character> set = new HashSet<>();
        int i = 0, j = 0;
        int result = 0;
        while (i < s.length()){
            if (!set.contains(s.charAt(i))){
                set.add(s.charAt(i));
                result = Math.max(result, set.size());
                i++;
            } else {
                set.clear();
                j++;
                i = j;
            }
        }
        return result;
    }
}
